www.gusucode.com > 落叶冰点万能企业网站内容管理系统 V9.1 > 落叶冰点万能企业网站内容管理系统 V9.1\code\本系统高级使用问题v9_1.txt
'************************************************************** ' 落叶冰点万能企业网站生成系统V9.1(原新动软万能网站内容管理系统) ' 官方网站: http://www.aspcpu.com ' 系统作者: 阮丁远 ' email:net3m33@126.com,qq:657697290 ' Copyright 落叶冰点万能企业网站生成系统 版权所有 '************************************************************** 0_1. 勿必使用IIS运行本系统,不可使用其他非IIS类的web环境,比如用netbox,aws都不可以,否则出错 0_1a. 请在根目录下运行本系统 0_111a. 生成htm静态页功能是很耗服务器资源的,如果在生成htm过程中出现错误或卡住,可能是服务器过载导致的(特别是用虚拟主机而 不是用服务器的情况),此时你可以在自己本地的计算机上进行生成htm操作,生成好后再上传到服务器上,或者你可以选择 单独生成部分页比如只生成分类页的htm页,而不生成全部页的htm页,这样可能就不会服务器过载 0_0_0_1_a1. 本系统后台路径: /admin/index.asp 后台用户名: admin 后台密码: admin 0_0_0_2_a1. inc/config.asp中找到nd_web_admin_folder="admin" : '设置管理目录,不支持多层目录,不用加/号,请和实际的管理目录一致,不然会导致后台里的编译模板和编译后台模型等功能出错 nd_web_admin_folder="admin" 设置时注意:请和实际的管理目录一致,不然会导致后台里的编译模板和编译后台模型等功能出错 0_0_01_1. inc/config.asp中: '下面这行设置FSO的对象名,如果你服务器改了FSO对象名,这个可以改为与之一样 fssoo_nd_var_str_x_customx="scri"&"pting.file"&"sys"&"temob"&"ject" 0_0_1_2_15. 如果 登陆后台后卡住很久而进不去, 请输入以下页面地址: /admin/D_admin_index_select.asp来直接访问进入 0_0_1_2_15a. inc/config.asp中: '设置远程存图的存图类型和最大能存的远程图大小 sAllowExt="gif|jpg|png|bmp" nAllowSize=250000 '设置能上传的文件类型和大小 D_u_AllowFileExt="jpeg|gif|jpg|png|bmp|rar|zip|exe|txt|doc|ppt|swf|rm|mp3|wma|wmv|mpg|mpeg" D_u_AllowFilesize=1000000 '分别设置普通会员,高级会员,vip会员能上传的最大照片数 D_u_1_max_photos=15 D_u_2_max_photos=30 D_u_3_max_photos=100 '评论系统中,投支持票或反对票时一个用户每天最多能投多少票 D_u_toup_d_num=16 '顶一下功能中,每天最多能顶多少个 D_u_dings_d_num=20 1_0_7z. 如果换了网站目录,此时,如果开启了生成静态功能,请重新生成所有htm静态页一次,一键拷站拷来的页也要重新拷,不然可能有异常 0_0_1_1. 特别注意:模板的代码的第一句绝对不可以为<%@.............之类开头的语句,而且要所有文件里的代码中的Option Explicit这个语句 删掉,否则会编译后运行出错,特别是 ,如果是放一个 其他整站asp系统 到模板目录里来编译,一定要注意这点:第一句绝对不可以为<%@.............之类开头的语句,而且要所有文件里的代码中的Option Explicit这个语句 删掉 0_0_1_21. 本系统新特性a0: /Lable/custom_Label/目录用于存放所有标签,标签以文件形式保存在此目录,可以灵活编辑与复制,想用到哪个标签,拷贝过来那个标签文件即可 /templates/目录用于所有模板,其下面的各个第一级子文件夹为各个模板的目录,想用到哪个模板,拷贝过来那个模板目录 然后在后台的 模板管理里的 安装模板与注销模板里注册此目录 即可,然后点 设为当前模板 就可以 0_0_1_21. 本系统新特性a01: /Lable/custom_Label/标签映射表/ 目录里存放的是 标签映射,主要用于: 比如一个标签很长如:{$$nd_qqqw_art_list("Article_id41",$page$article_view_page$,6,26,23,23,23,2,3,efe,34,5,22222,4,444,44566,677,7400)} 这个时候把此长标签放到模板里会显得放不下,编辑时模板里的某个表格区被此长标签撑开(特别是dreamweaver里编辑模板文件时会有撑开现象) 此时,用一个短标签如{$$aax1a}来映射到此长标签{$$nd_qqqw_art_list("Article_id41",$page$article_view_page$,6,26,23,23,23,2,3,efe,34,5,22222,4,444,44566,677,7400)} 把短标签{$$aax1a} 放到模板里即可调用长标签{$$nd_qqqw_art_list("Article_id41",$page$article_view_page$,6,26,23,23,23,2,3,efe,34,5,22222,4,444,44566,677,7400)} ,又不会编辑时把表格撑开 0_0_1_21. 本系统新特性a1: 不必考虑路径问题(模板支持相对路径): templates模板目录里新建一个模板子目录后,可以直接放一个整站,而不必考虑路径问题,可以使用原来的相对路径,后台里点 生成所有页面后 图片仍然可以显示,且后台模板编辑时编辑器里也可以正常显示图片 模板文件不要用绝对路径,要用相对路径(在/templates/xxxxxxx里的相对路径, 如/templates/xxxxxxx/index.asp引用/templates/xxxxxxx/img/1.jpg,要用img/1.jpg这个相对路径,而不要用/templates/xxxxxxx/img/1.jpg这个绝对路径) 0_0_1_21. 本系统新特性a2: 自动识别性:即把一个 asp网站系统的整站文件作为一个目录放到templates目录下,然后在后台注册此目录,则会自动识别目录里的所有文件,不管里面子文件夹有几层,全部自动扫描, 所以,可以拷贝一个模板文件 到模板目录下,会自动识别,而不用在后台手工添加单个模板文件,标签目录(即/Lable/)也一样,标签也是自动扫描文件和自动识别的,可以拷贝/Lable/单个标签文件,灵活调用与组装系统 0_0_1_22. 本系统新特性b: 标签可以与asp代码 互动和相互调用,$xx_var_asp$ii之类表示把asp里的变量ii的值传到标签参数里:如 <%ii=rs_x("classid")%> {$$next_pre_picsp($xxvar$id,$xx_var_asp$ii)} 又如在asp代码的某个for循环里的循环体内调用某标签,用$xx_var_asp$ii之类来传值到标签里:<%for aa=1 to 12%>{$$show_newsaa($xx_var_asp$aa)}<%next%> ,另外,还有$xx_request_asp$id之类,可以得到request("id")的值并传到标签参数中 0_0_1_23a1. 本系统新特性b1: 本系统也可以作为网站生成系统,如企业网站生成系统, 后台配置好模板和各栏目频道及分类数据后,点 刷新与生成前台所有页面 就可以在/xasp/目录或/xcomasp/目录得到生成的整站的代码(xasp用于cms子系统,xcomasp用于企业站子系统) 只要拷贝 /xasp/目录或/xcomasp/目录 及/data/目录,/inc/目录,/uploadfile/目录,/images/目录就可以得到一个生成的 网站系统整站, 可以多次生成, 比如第一次生成后把 /xasp/目录或/xcomasp/目录 及/data/目录,/inc/目录,/uploadfile/目录,/images/目录拷贝 到/web001/目录, 第二次生成后把 /xasp/目录或/xcomasp/目录 及/data/目录,/inc/目录,/uploadfile/目录,/images/目录拷贝 到/web002/目录, 。。。。。 这样就像造网站的工厂一样,得到了/web001/,/web002/,。。。。等生成的 网站系统整站 ,生成的 网站系统整站里如需要再加入后台,再拷贝/admin/即可 0_0_1_23a11. 刷新与生成前台所有页面 及编译,刷新 之类的操作可能会很耗时间及耗服务器资源, 如果在后台进行 刷新与生成前台所有页面 及编译,刷新 之类的操作时出现 很耗服务器资源甚至服务器暂时无反应了或提示Service Unavailable(特别是用虚拟主机而不是用服务器的情况), 此时, 推荐您在本地自己的电脑上用本地的IIS来运行本系统,在本地电脑上进行 刷新与生成前台所有页面 之类的操作, 并按上一点的把本系统作为网站生成系统 的方法生成一个 整站系统后再上传到服务器上 浏览, 这样就不会很耗服务器资源了 0_0_1_23. 本系统新特性c: 新建标签时,可以选 a.动态内容标签,b.内容循环标签,c.可带asp代码的标签 ,其中内容循环标签用于循环读取数据库内容, 最后形成一内容列表来显示内容,如新闻列表,文章列表,图片列表,产品列表都可以用此标签来制作,并且可以选是否显示分页(如上一页,下一页) 内容循环标签又分一层循环内容循环标签和二层循环内容循环标签, 二层循环内容循环标签比如行,列这两层循环,主要用于图片列表,产品列表等需要行,列方向都要内容循环的地方,一层循环内容循环标签主要用于新闻列表,文章列表等 只有一个方向(如行这一方向)在循环内容的地方; 动态内容标签主要用于显示某个id对应的内容,如id=12的文章的详细内容 可以用此标签来调用并显示出,并可以用$xx_request_asp$id之类来得到request("id")的值并传到标签参数中此动态内容标签中,从而根据http://www.111.com/111.asp?id=33中id=后的值来动态的用此动态内容标签来调出对应id的文章的详细内容 并显示出 ;可带asp代码的标签用于更用户自己写任何asp代码并集成此asp代码到标签中以供调用 0_0_1_231. 本系统新特性d: 如果同一标签在同一个页面里被多次调用可能会变量名冲突,如果标签代码里含<script language=javascript>function aa()...,又会使js的函数aa()重名冲突,此时, 可以在标签里用$$xxxx_d_soft_complie$$rnd$标签来在 编译此标签时 生成一个随机数,如标签代码为 <script language=javascript>function aa$$xxxx_d_soft_complie$$rnd$(){ .... } ; sss=aa$$xxxx_d_soft_complie$$rnd$() .. 会在编译后变为 <script language=javascript>function aa993545745(){ .... } ; sss=aa993545745() .. 或 <script language=javascript>function aa565464541(){ .... } ; sss=aa565464541() .. 或 。。。。 之类 从而防止了冲突(每编译一个标签后,自动换一个随机数至$$xxxx_d_soft_complie$$rnd$里) ,又如 <% aaa$$xxxx_d_soft_complie$$rnd$="111" call ssss$$xxxx_d_soft_complie$$rnd$(aaa$$xxxx_d_soft_complie$$rnd$) %> 这样的标签代码, 也一个道理,会被编译为 <% aaa344573243="111" call ssss344573243(aaa344573243) %> 之类,每编译一个标签后,自动换一个随机数至$$xxxx_d_soft_complie$$rnd$里,防止冲突 0_13a. 本系统新特性e: 本系统自行研制了错误标签定位系统 如何跟踪asp网页运行出错点所在的标签: 比如/xasp/目录下一个编译后的asp文件运行出错,此时看下代码出错所在行的行数,在该行附近上面找与之最近的 以下之类的标记(<%'complie-link:label-strat开头的): <%'complie-link:label-strat[$$zhuanti_m($xx_request_asp$id)] %> <%'complie-link:label-strat[$$art_zhuanti(request("id"),nd_new_art.asp ,nd_hot_view.asp,201)] %> <% fileNamexx = aryxx(ubound(aryxx)) strFileName=fileNamexx set Rs_x1=server.CreateObject("adodb.recordset") Rs_x1.open sql,newdsoft_conn_obj,1,3 。。。。。。 。。。。。。 。。。。。。 %> ,如果是上面之类的标记,则出错标签可能是{$$zhuanti_m($xx_request_asp$id)},而这个{$$zhuanti_m($xx_request_asp$id)}的标签正文代码里还调用了另一标签: {$$art_zhuanti(request("id"),nd_new_art.asp ,nd_hot_view.asp,201)},在后台编辑这两个标签的代码(可以比较出错行附近的代码来找对应的标签代码),看下出错在哪里即可 0_13a2. 如何跟踪一个后台模型编译后生成的asp后台文件出错点所在的标签是哪个标签呢?: 比如 打开\Model\Models\房产信息系统模型\complied\8OCAWFOJ.asp这个已编译的后台模型自定义管理页,看到以下代码, <%'complie-link:label-strat[$$nd_renyi_text_inputk$doaddmode$("4",1)] %> <% if request("nd_fm_eeee")="" and cstr(1)="0" then nd_x_do_page_is_vaild_x=0 nd_x_do_page_err_msg_x=nd_x_do_page_err_msg_x&"ere"&"不能为空!\n" ............... ........... <%'complie-link:label-end[$$nd_renyi_text_inputk$doaddmode$("4",1)] %> 如果是这几行代码出错,找到这几行代码旁边的 <%'complie-link:label-strat[$$nd_renyi_text_inputk$doaddmode$("4",1)] %> ,看到里面的label-strat[$$nd_renyi_text_inputk$doaddmode$("4",1)],说明出错标签为$$nd_renyi_text_inputk$doaddmode$("4",1), 即主标签名前缀为nd_renyi_text_inputk的后台控件的添加页处理态(即$doaddmode$)标签的里面某处代码出错 0_0_1_15. 后台 编辑标签或模板时,那个含很多工具栏的编辑器上有个 源代码 按钮,推荐您使用这个按钮来编辑标签或模板的源代码,以发现更底层的错误和问题, 而不单纯使用可视化模式来编辑东西 0_0_1_15_1. 注意: 编辑模板时,模板里输入某个标签的调用字符串时字符串要单个字符与相邻的单个字符间要连续,不可手工打入 回车换行 在标签字符串的单个字符与单个相邻的字符间,除非是系统自动换行,那没关系 否则,将是无效标签而不被编译, 且最好要在代码模式下输入标签字符串,这样不容易出错 0_0_1_152. 注意:dreamweaver里编辑一个模板等时,如果在设计模式下而不是在代码模式下输入了 "号 到标签参数里或复制某个含"号的标签过来,会出错,因为 "号为被转为"再放到代码里,所以要在代码模式下输入"号才行,不然出错 0_0_1_152_2. 注意:给 某个标签参数设置具体值时要注意引号的使用,如果给某个标签参数设置具体值为 article_id35 后编译运行出错或出现异常(比如调不出内容,总显示为空),此时把这个标签参数具体值设置为"article_id35"看看,即加个引号,或者如果因为有引号而编译运行出错,则去掉引号再编译运行看看 1_0_5z. 首次安装本系统时, 请打开inc/config.asp,配置里面的nd_fang_caiji_rand_str_x的值: '下面这行用于 首次安装本系统后 设置 防采集用的随机字符串的值(推荐改掉其的默认值,以防止猜解默认值方式的破解),以后都不要改这个值,千万不要再改,否则生成的htm页的页面文件名经常变的话,影响baidu等的收录 nd_fang_caiji_rand_str_x="ndxxy1" 0_0_1_16_2. 在编译与刷新前台所有页面或刷新标签库缓存之类操作时,不能用access软件打开数据库,否则会卡住 0_0_1_15_11. 注意: 标签库不允许有同标签名的标签存在,否则编译模板时会出错 0_0_1_15_x. 后台编辑器可能会过滤html代码里<select name="aaa"><option value="1"><%="aaaaaaaaa"%></select>中的<%="aaaaaaaaa"%>, <%="aaaaaaaaa"%>之类 asp代码放在其他地方不会被过滤,可能就<select></select>特殊了点 0_0_1_15_a. 如果进入后台标签编辑页面 可视化标签代码编辑器里的内容显示为空,请点击编辑器上方的源代码按钮来编辑代码,很可能是纯代码,所以没显示 0_0_1_15_1. 如果你修改一个东西后,前台没有发生对应的变化,请在后台里 点击 刷新与生成前台所有页面(需要很长时间,请耐心等待),再看看 0_0_1_15211. 如果 一直提示 “对不起,当前有其他人正在进行 锁定性数据库读写操作,请稍后再重试(最多需等待11分钟)”,又不想等这11分钟, 请输入以下页面地址: /admin/D_admin_index_select.asp来访问再进入,但是这样强制进入可能会导致未知的异常,请小心操作 0_0_1_152112. 标签代码里的<a href=等里url地址字符串里url参数里的&号,推荐你改为<%="&"%>这样的形式,因为可能&号会被自动转换为& 0_0_1_152115. 某个模板的模板文件夹下不好建立子目录来放子模板,子模板都直接放在此模板的模板文件夹的最顶层目录下,否则容易出错 0_13e1.标签库文件夹内绝不能放非纯文本编码的文件,比如图片文件等,不然编译模板以及管理标签时会出错 1_1_a.运行本系统的空间必须支持FSO 1_1. inc/config.asp: 数据库设置: main_data_mdb="data\##%20newDdata8-5-1##.mdb" ,修改数据库路径后,一定要在后台点击刷新所有页面,不然前台页面会出错,无法显示, 修改数据库路径时可以把数据库文件名的扩展名改为 .asa 或 .asp 来防止数据库被下载,加大系统安全性 0_13b. 重要说明: $xx_var_asp$i,$xx_request_asp$i这样的标签只能放在 标签参数的在调用时的具体参数里 或 标签的sql查询语句 里, 不能放在标签代码正文里(标签代码正文里可以直接用<%=i%>,request("i")之类),而$xxvar$i这样的标签只能放在标签的sql查询语句 里或标签代码正文里, 不能放在标签参数的在调用时的具体参数里,除非这个标签是放在另一标签的标签代码正文里,即标签代码里还有标签的情况 注意引号的使用,如aaa="$xxvar$a",当标签参数a为11111时,aaa="11111",而对于aaa=$xxvar$a,为aaa=11111 为了书写方便,在标签编辑页面的 sql语句输入框中本系统做了一个自动转换功能: 在标签编辑页面的 sql语句输入框里,{$$aaa(a)}用{$$aaa(11)}调用时可以用...where a='$xxvar$a',而不需要用...where a='"&$xxvar$a&"' ,类似的还有: ...where a='$xx_request_asp$id' , ...where a='$xx_var_asp$ii' 用{$$aaa($xx_request_asp$id)}调用时也可以用...where a='$xxvar$a' ,而不需要用...where a='"&$xxvar$a&"' ,因为sql会被编译为...where a='$xx_request_asp$id',再被为编译...where a='"&request("id")&"' ,这种情况只在标签编辑页面的 sql语句输入框中会这样,也只有标签的 sql语句输入框中...where a='$xx_request_asp$id'才会被为编译...where a='"&request("id")&"' 而在标签编辑页面的 其他输入框,如 标签编辑页面的 "在sql赋值语句后面要执行的asp代码" 这个输入框或标签编辑页面的 ”每次循环前要执行的asp代码“ 这个输入框中 sql="...where a='$xxvar$a'" 之类代码在标签用{$$aaa($xx_request_asp$id)}时会被编译为 sql="...where a='request("id")‘",而不是sql="...where a='"&request("id")&"'", ...where a='$xx_request_asp$id'会被为编译...where a='request("id")',而不是...where a='"&request("id")&"',此时用...where a='"&$xx_request_asp$id&"' 才可以被编译为...where a='"&request("id")&"', 错误处理方法:如果编译后运行,出现sql语句错误,可以尝试把...where a='xx_request_asp$id'之类改为...where a='"&xx_request_asp$id&"',或者...where a='"&xx_request_asp$id&"'改为..where a='xx_request_asp$id',等等,都试下 0_13c. 重要说明:$xx_var_asp$i,$xx_request_asp$i这样的标签参数不支持遗传,比如{$$aa(ss)}的标签正文代码为{$$bbbb($xxvar$ss)} 在用{$$aa($xx_request_asp$id)}调用{$$aa(ss)}时,标签正文代码{$$bbbb($xxvar$ss)}会先被编译为{$$bbbb(request("id"))},再 代到{$$bbbb(w)}这个标签里去继续编译,而不会先编译为{$$bbbb($xx_request_asp$id)},再代到{$$bbbb(w)}这个标签里去继续编译 ,即{$$aa($xx_request_asp$id)}--->{$$bbbb(request("id"))}--->...... 而不会{$$aa($xx_request_asp$id)}--->{$$bbbb($xx_request_asp$id)}--->......,即参数不支持遗传,其他类似的标签参数也同理,所以$xx_var_asp$i,$xx_request_asp$i可以直接放在嵌套标签的最后一级标签的标签参数里,不 用放在父标签里去遗传给其标签代码里的嵌套标签 6.标签里不能有任何空格,如{$$my_b_22 (111,11)}是错的,{$$my_b_22(111,11)}就可以 10.如果你改了某标签,要点击 更新标签库缓存 ,才能在修改某模板后 得到最新的标签库的编译支持, 不然标签库还是旧的,或者不点击更新标签库缓存,而点 刷新与生成所有页面也可以或 生成与刷新单个模板 而不是所有,也可以点击 编译含特定标签或内容的所有子模板并刷新其前台页面 9.对于参数里的$xx_var_asp$i,$xx_request_asp$i的调用,对应的标签参数必须这样被调用:放在<% %>里,如<%=$xxvar$aa%> 例子: {$$show(aa,bb)} 的调用 {$$show($xx_request_asp$i,bb)} 而{$$show(aa,bb)}的内部标签代码为: <%=$xxvar$aa%> <br> <%=$xxvar$bb%> 0_0_1_2a. a. {$fmt([ND_Article_class].id,Text,0,0,0)}之类$fmt类标签 不支持传值,标签参数不能用{$fmt([ND_Article_class].id,Text,0,0,0)}代入数值,但可以用以下形式代入id的值: <%ii=rs_x1("id")%> {$$nd_show_art_list(ii,nd_view_art.asp)}(而{$$nd_show_art_list(ii,bb)}对应的标签代码为 <%sssss=$xxvar$ii%>之类) ,而不能用{$fmt([ND_Article_class].id,Text,0,0,0)}之类代入数值,即{$$nd_show_art_list({$fmt([ND_Article_class].id,Text,0,0,0)},nd_view_art.asp)}是错的,{$fmt([ND_Article_class].id,Text,0,0,0)}只能用来显示,不能放在代码里传值 b. 编辑标签时,如果在 标签编辑页面的 "在sql赋值语句后面要执行的asp代码" 这个输入框里输入了sql="......."之类的控制sql语句的代码,那么,在标签编辑页面其他输入框点某个数据库表字段后自动插入的{$fmt([ND_prod].id,Text,0,0,0)}之类的东西 将不再有效,而且编译后运行会出现运行错误,反正在标签编辑页面里 无论哪里输入了sql="......"这样的语句,那么都将不能再使用{$fmt([ND_prod].id,Text,0,0,0)}之类的东西来输出某个数据库字段的值,此时可以用rs_xxxx("id")之类来代替{$fmt([ND_prod].id,Text,0,0,0)},rs_xxxx("id")中的rs_xxxx要改为你在 标签编辑页面里 设置的“本标签内使用的rs记录集的自定义对象名” 0_1v. inc/config.asp中: '如果nd_x_del_www_before_publish=1则 生成前台时 先清空前台目录,否则不清空,只覆盖旧文件, '如果设置为先清空,可能在生成与刷新前台所有文件时,会导致网站前台暂时打不开,直到生成完毕才可以打开 '如果设置为不先清空,可能导致垃圾文件积累 nd_x_del_www_before_publish=1 1.4.1. 系统升级后数据可能会丢失,更换模板后数据可能会丢失 此时,请用此功能来快速导入旧数据库的数据至升级后的新数据库中某个内容分类下等, 注意是:某个内容分类下,为了兼容id 这个功能是本系统商业版才有的,请联系购买本系统商业版,http://www.aspcpu.com 0_11.注意:在标签代码里调用标签参数的值时,如<a href="$xxvar$aaa"中$xxvar$aaa后一定要跟一个不是 26个字母和数字及_号 在内的 其他字符(这里是"号)来表示该$xxvar$aaa的调用已结束,所以style="height:$xxvar$pheight px"是对的,而style="height:$xxvar$pheightpx"是错的 13. 系统使用的数据库连接对象名为newdsoft_conn_obj ,你可以在模板里调用这个连接对象 标签使用的rs记录集可以在编辑标签 里设置rs记录集自定义对象名, 当你自定义了sql即 在sql赋值语句(如sql="select .....")后面执行的asp代码 里填写了改sql变量值的代码,此时, 你只能用上述rs记录集如rs_x1("title")这样的代码 来调字段,而不能再用{$fmt([ND_Article_class].title,Text,0,0,0)}这样的标签来调字段 14.标签参数名如果是这样的:{aa(url,url2)}是不对的,一个参数名不能是另一参数名的子字符串 0_13.改一个标签后,一定要点击刷新与生成所有页面 后才能更新前台页面 0_11. 如果模板代码里含<html>和</html>,后台编辑器会自动把代码格式化为以下形式: <html> <head> <title></title> </head> <body> <div> </div> </body> </html> 如果模板代码里只含<html>,而不含</html>,系统会自动过滤<html>及相关的<body>,<head>标签, 所以如果要用<!--#include file=top.asp-->提取 <html> <head> <title></title> </head> <body> <div id="head"></div> <div>e46546456</div> <div>e465464453456</div> <div>e46543456456</div> </body> </html> 里的网页头部即<div id="head"></div>, 则<!--#include file=top.asp-->中的top.asp的内容可以为 <div id="head"></div> 但绝不能为: <html> <head> <title></title> </head> <body> <div id="head"></div> 因为由于 "如果模板代码里含<html>和</html>,系统才会自动把代码格式化,而只含<html>,而不含</html>,系统会自动过滤<html>及相关的<body>,<head>标签" ,所以<html>和</html>必须放在同一模板文件里,还有<head>,</head>,<body>,</body>,<title></title>也要和<html>,</html>放在同一模板文件里 0_13_1.标签或模板的代码中,如<%b=" target=_blank"%><a href="<%=a%>" <%=b%>></a>是错的,必要要用<%b="_blank"%><a href="<%=a%>" target="<%=b%>"></a>的形式,因为前一种形式中,<%=b%>会因html语法错误而被后台编辑器丢弃 0_13_11. 模板代码或标签代码里如果含以下之类代码: <style type="text/css"> #eeep {width:$xxvar$width px} </style> <table id="eeep"> 还可以,但是如果用 <table width="$xxvar$width">时,会因html语法错误 使width="$xxvar$width"属性被后台编辑器丢弃,所以建议使用<style type="text/css">。。。</style>来定义属性 0_12.模板里的asp代码一定要放在<html>包括的代码内部里,不要放在<html>标记上面,不然可能编辑时asp代码会被忽略 1.1要退出后台时请点“退出系统 ”来可靠的退出 0_2.如果进不去后台,请重新进,如果生成页面时卡住很久(几分钟以上),请重新生成,可能有些文件正在被使用,无法被更改,要重新试 0_2_1.进入后台时请务必关闭 所有数据库软件如ACCESS,不然可能进后台会卡住或提示数据读取错误 0_2_111. 如果进后台经常超时,请尝试把 inc/config.asp: set_admin_cookies_on=0设置为set_admin_cookies_on=1 再进后台 0_3.所有模板文件要用gb2312编码格式(ANSI),不然编译模板时会卡住 模板文件的扩展名最好都用.asp的,不然可能出错 0.如果你在在模板文件夹里(如/templates/1111/里)再建一子文件夹(如/templates/1111/2222)放模板网页后再点击生成整站, 出现了程序错误(如 您要访问的网页有问题,无法显示。), 此时把/admin/adminKernel/D_asp_code_str_for_complie_conn.asp中的dir_set="..\", 修改为dir_set="\",并进后台点击生成所有页面 ,并一定在iis根目录下运行本系统(不然一定会出错(如 您要访问的网页有问题,无法显示。)), 就可能解决问题 0_6.在后台复制一模板后或手工在模板目录下新建立了一个文件,要点击刷新与生成所有页面或点击 刷新该子模板的前台页面 后才能生成对应的新的前台页面 0_7.自己手动在/templates/目录下改了文件,要点击刷新与生成所有页面或点击 刷新该子模板的前台页面 后才能更新前台页面 0_1.即使你只是改了模板里的图片而不是模板网页,也要点击刷新与生成所有页面或点击 刷新该子模板的前台页面 后才能更新前台页面的图片 0_2.模板网页的文件名千万不能用中文 0_1111a. 数据库建表等数据库脚本(xml)的示范格式如下: <newdsoft_script> <ver> newdsoft_web_creater_script VER 8.5.1 </ver> <can_install_in_what_sys_ver> <v>8.5.1</v> <v>8.5.2</v> </can_install_in_what_sys_ver> <sqlcmdlist> <sql> <cmd> <!--delete_if_exists_table([test_update],ff|a|)的功能是:如果存在一个含字段ff,a的表就把它删除,如果不存在就不删,注意这个命令的type设置为newdsoft_sql--> <![CDATA[ delete_if_exists_table([test_update],ff|a|) ]]> </cmd> <type>newdsoft_sql</type> </sql> <sql> <cmd> <![CDATA[ CREATE TABLE [test_update] ([ff] int IDENTITY (1, 1) NOT NULL CONSTRAINT PrimaryKey PRIMARY KEY,a varchar(200)) ]]> </cmd> <type>sys_sql</type> </sql> <sql> <cmd> <![CDATA[ CREATE INDEX ff ON test_update (ff) ]]> </cmd> <type>sys_sql</type> </sql> </sqlcmdlist> </newdsoft_script> 数据库常用sql脚本: 建表: CREATE TABLE [test_Table] ([ff] int IDENTITY (1, 1) NOT NULL CONSTRAINT PrimaryKey PRIMARY KEY,a varchar(200)) ,type要设置为<type>sys_sql</type> 建索引: CREATE INDEX id ON test_Table (id) ,type要设置为<type>sys_sql</type> 删表的字段:Alter Table test_Table Drop test_ColumnName ,type要设置为<type>sys_sql</type> 如果存在含字段ff,a的表则删除,否则不删:delete_if_exists_table([test_update],ff|a|) ,type要设置为<type>newdsoft_sql</type> 删表(没有容错功能):Drop Table test_Table ,type要设置为<type>sys_sql</type> 0_1111b. 后台文件及系统文件升级脚本(xml)的示范格式如下: <newdsoft_script> <ver> newdsoft_web_creater_script VER 8.5.1 </ver> <can_install_in_what_sys_ver> <v>8.5.1</v> <v>8.5.2</v> </can_install_in_what_sys_ver> <from_folder> <folder><!--请使用相对于本模板目录的相对路径,开头不用加/号,多级目录请用/号隔开--> admin_files_update_ndsoft </folder> <is_using_custom_path> 0 </is_using_custom_path> <custom_path><!--请使用相对于本系统所在根目录的相对路径,开头不用加/号,多级目录请用/号隔开--> updatetemp/ </custom_path> </from_folder> <copylist><!--以下的from里添的路径是相对于上面from_folder里设置的文件夹路径的,开头不用加/号--> <!--以下的rewrite_enable指定如果存在同名文件,是否强制覆盖--> <copy><from>1/1.asp</from><to>admin/admin_child_admin/1.asp</to><rewrite_enable>0</rewrite_enable></copy> <copy><from>2.asp</from><to>admin/admin_child_admin/2.asp</to><rewrite_enable>0</rewrite_enable></copy> </copylist> </newdsoft_script> 执行后台文件及系统文件升级脚本(xml): 当文件升级脚本里的from节点的值为一个带http://的网址时, 该from对应的升级用的新文件将自动下载,不用考虑下面的东西, 当文件升级脚本里is_using_custom_path节点设置为0时, 假设文件升级脚本里folder节点的值为abc 可以把升级用的新文件拷贝到本系统根目录下的SYSTemp/目录里的abc子目录(自己建立此目录)里,再执行文件升级脚本 ,此时,所有升级用的新文件在 文件升级脚本的路径值都是相对于此SYSTemp/abc目录的相对路径 或者当文件升级脚本里is_using_custom_path节点设置为1时, 在文件升级脚本里指定 存放 升级用的新文件 的文件夹路径,再执行后台文件升级脚本 ,此时,所有升级用的新文件在 文件升级脚本的路径值都是相对于此 自己指定的目录 的相对路径 0_1111c. 标签库升级脚本(xml) 的示范格式如下: <newdsoft_script> <ver> newdsoft_web_creater_script VER 8.5.1 </ver> <can_install_in_what_sys_ver> <v>8.5.1</v> <v>8.5.2</v> </can_install_in_what_sys_ver> <from_folder> <folder><!--请使用相对于本模板目录的相对路径,开头不用加/号,多级目录请用/号隔开--> label_update_ndsoft </folder> <is_using_custom_path> 0 </is_using_custom_path> <custom_path><!--请使用相对于本系统所在根目录的相对路径,开头不用加/号,多级目录请用/号隔开--> updatetemp/ </custom_path> </from_folder> <copylist><!--以下的from里添的路径是相对于上面from_folder里设置的文件夹路径的,开头不用加/号--> <!--以下的to里添的路径是相对于本系统所在根目录的,开头不用加/号,必须以Label/custom_Label开始--> <!--以下的rewrite_enable指定如果存在同名文件,是否强制覆盖--> <copy><from>1.asp</from><to>Label/custom_Label/其他标签/1.asp</to><rewrite_enable>0</rewrite_enable></copy> <copy><from>2.asp</from><to>Label/custom_Label/其他标签/2.asp</to><rewrite_enable>0</rewrite_enable></copy> </copylist> </newdsoft_script> 执行标签库升级脚本(xml) : 当标签库升级脚本里的from节点的值为一个带http://的网址时, 该from对应的升级用的新文件将自动下载,不用考虑下面的东西, 当标签库升级脚本里is_using_custom_path节点设置为0时, 假设标签库升级脚本里folder节点的值为abc 可以把升级用的新文件拷贝到本系统根目录下的SYSTemp/目录里的abc子目录(自己建立此目录)里,再执行标签库升级脚本 ,此时,所有升级用的新文件在 标签库升级脚本的路径值都是相对于此SYSTemp/abc目录的相对路径 或者当标签库升级脚本里is_using_custom_path节点设置为1时, 在标签库升级脚本里指定 存放 升级用的新文件 的文件夹路径,再执行标签库升级脚本 ,此时,所有升级用的新文件在 标签库升级脚本的路径值都是相对于此 自己指定的目录 的相对路径